﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Abp.AutoMapper;
using Abp.Runtime.Validation;
using Abp.Extensions;
using LeadThing.AbpZeroTemplate.DisputeInformations;

namespace LeadThing.AbpZeroTemplate.DisputeInformations.Dtos
{
    /// <summary>
    /// 矛盾纠纷信息编辑用Dto
    /// </summary>
    [AutoMap(typeof(DisputeInformation))]
    public class DisputeInformationIOSEditDto
    {

        /// <summary>
        ///   主键Id
        /// </summary>
        [DisplayName("主键Id")]
        public string Id { get; set; }

        /// <summary>
        /// 纠纷来源ID
        /// </summary>
        [DisplayName("纠纷来源ID")]
        [Required]
        public string SourceID { get; set; }

        /// <summary>
        /// 纠纷类型ID
        /// </summary>
        [DisplayName("纠纷类型ID")]
        [Required]
        public string DisputeTypeID { get; set; }

        /// <summary>
        /// 紧急程度ID
        /// </summary>
        [DisplayName("紧急程度ID")]
        [Required]
        public string UrgencyID { get; set; }

        /// <summary>
        /// 上传人
        /// </summary>
        [DisplayName("上传人")]
        [Required]
        [MaxLength(50)]
        public string UploadName { get; set; }

        /// <summary>
        /// 上传人
        /// </summary>
        [DisplayName("上传人")]
        [Required]
        public string UserID { get; set; }

        /// <summary>
        /// 镇
        /// </summary>
        [DisplayName("镇")]
        [Required]
        public string TownID { get; set; }

        /// <summary>
        /// 区
        /// </summary>
        [DisplayName("区")]
        [Required]
        public string AreaID { get; set; }

        /// <summary>
        /// 村庄
        /// </summary>
        [DisplayName("村庄")]
        [Required]
        public string VillageID { get; set; }

        /// <summary>
        /// 当事人
        /// </summary>
        [DisplayName("当事人")]
        [Required]
        [MaxLength(50)]
        public string Party { get; set; }

        /// <summary>
        /// 手机号
        /// </summary>
        [DisplayName("手机号")]
        [Required]
        [MaxLength(11)]
        public string Phone { get; set; }

        /// <summary>
        /// 涉及人数
        /// </summary>
        [DisplayName("涉及人数")]
        public string InvolveNum { get; set; }

        /// <summary>
        /// 事发地点
        /// </summary>
        [DisplayName("事发地点")]
        [MaxLength(500)]
        public string EventAddress { get; set; }

        /// <summary>
        /// 事件描述
        /// </summary>
        [DisplayName("事件描述")]
        public string EventDesc { get; set; }

        /// <summary>
        /// 调查取证
        /// </summary>
        [DisplayName("调查取证")]
        public string Evidence { get; set; }

        /// <summary>
        /// 协议书
        /// </summary>
        [DisplayName("协议书")]
        public string Agreement { get; set; }

        /// <summary>
        /// 图片封面
        /// </summary>
        [DisplayName("图片封面")]
        [MaxLength(500)]
        public string ImgUrl { get; set; }

        /// <summary>
        /// 意见
        /// </summary>
        [DisplayName("意见")]
        [MaxLength(500)]
        public string SuggestionDesc { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [DisplayName("状态")]
        public string Status { get; set; }

        /// <summary>
        /// 分流处理镇ID
        /// </summary>
        [DisplayName("分流所属镇ID")]
        public string HandleTownID { get; set; }

        /// <summary>
        /// X坐标
        /// </summary>
        [DisplayName("X坐标")]
        [MaxLength(100)]
        public string XPoint { get; set; }


        /// <summary>
        /// Y坐标
        /// </summary>
        [DisplayName("Y坐标")]
        [MaxLength(100)]
        public string YPoint { get; set; }

        /// <summary>
        /// 事件描述图片ID
        /// </summary>
        [DisplayName("事件描述图片ID")]
        public string EventDescImgID { get; set; }

        #region 扩展字段

        /// <summary>
        /// 镇名称
        /// </summary>
        [DisplayName("镇")]
        public string TownTitle { get; set; }

        /// <summary>
        /// 区名称
        /// </summary>
        [DisplayName("区")]
        public string AreaTitle { get; set; }

        /// <summary>
        /// 村名称
        /// </summary>
        [DisplayName("村庄")]
        public string VillageTitle { get; set; }

        /// <summary>
        /// 流程节点描述
        /// </summary>
        public string ProcessContent { get; set; }

        /// <summary>
        /// 文件ID
        /// </summary>
        [DisplayName("文件ID")]
        [Required]
        public string FileID { get; set; }

        #endregion

    }
}
